home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / Pdmod / modules / socket / charread.m < prev    next >
Encoding:
Text File  |  2002-10-28  |  1.5 KB  |  60 lines

  1. /*
  2.  * charread.h
  3.  * 
  4.  * Author: Tomi Ollila <too@cs.hut.fi>
  5.  * 
  6.  * This module is FREEWARE. Standard "NO WARRANTY" disclaimer applies.
  7.  *
  8.  * Created: Wed Aug  5 18:57:25 1992 too
  9.  * Last modified: Wed Jun 16 19:16:02 1993 too
  10.  * 
  11.  * $Id: charread.h,v 1.1 1993/06/16 16:41:47 too Exp $
  12.  *
  13.  * HISTORY
  14.  * $Log: charread.h,v $
  15.  * Revision 1.1  1993/06/16  16:41:47  too
  16.  * Initial revision
  17.  *
  18.  *
  19.  */
  20.  
  21.  
  22. #define RC_BUFSIZE 1024
  23.  
  24. OBJECT CharRead
  25.     rc_Fd:LONG,
  26.     rc_Size:LONG,
  27.     rc_Curr:LONG,
  28.     rc_Buffer[RC_BUFSIZE]:BYTE
  29.  
  30.  
  31. #define RC_DO_SELECT    -3
  32. #define RC_EOF          -2
  33. #define RC_ERROR        -1
  34.  
  35. /*
  36. #define initCharRead(rc, fd) do { \
  37.                                   (rc)->rc_Fd = fd;  \
  38.                                   (rc)->rc_Size = 0; \
  39.                                   (rc)->rc_Curr = 1; \
  40.                              } while(0)
  41. */
  42.  
  43. #define RC_R_E_A_D(a, b, c) recv(a, b, c, 0)
  44.  
  45. /*
  46. #define charRead(rc) \
  47.         ((rc)->rc_Curr >= (rc)->rc_Size ? \
  48.                 (rc)->rc_Curr++ == (rc)->rc_Size ? \
  49.                         RC_DO_SELECT: \
  50.                         ((rc)->rc_Size = RC_R_E_A_D((rc)->rc_Fd, \
  51.                                                     (rc)->rc_Buffer, \
  52.                                                     RC_BUFSIZE)) <= 0 ? \
  53.                                 (rc)->rc_Size == 0 ? \
  54.                                         RC_EOF: \
  55.                                         RC_ERROR: \
  56.                                 (rc)->rc_Buffer[((rc)->rc_Curr = 1) - 1]: \
  57.                 (rc)->rc_Buffer[(rc)->rc_Curr++])
  58.  
  59. */
  60.